/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.conseilimmo.repository;

import com.hildeberto.home.util.EntityManagerHelper;
import java.util.List;
import java.util.Locale;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.persistence.EntityManager;
import objetsBd.BatimentBd;
import objetsBd.PersonneBd;

/**
 *
 * @author verpoorten
 */
public class PersonneBsn {

    private static final Logger LOGGER = Logger.getLogger(PersonneBsn.class.getName());
    private EntityManager em = EntityManagerHelper.EM.open();

    public List<PersonneBd> trouverListePersonnes() {
        String sql = "select b from PersonneBd  b";
        List<PersonneBd> properties = em.createQuery(sql).getResultList();

        for (PersonneBd property : properties) {
            LOGGER.log(Level.INFO, "bat:{0}", property.getNom());
        }
        return properties;
    }

    public PersonneBd trouverPersonneParId(Long idPersonne) {
        String sql = "select b from PersonneBd  b";
        sql += " where b.idPersonne = :idPersonne";
        return (PersonneBd) em.createQuery(sql).setParameter("idPersonne", idPersonne).getSingleResult();
    }

    public List<PersonneBd> trouverPersonneParNom(String nomParam) {
        String nom = "";
        if (nomParam != null) {
            nom = nomParam;
            nom = "%" + nom.toUpperCase(Locale.FRENCH) + "%";
            String sql = "select b from PersonneBd  b";
            sql += " where upper(b.nom) like :nom";
            return em.createQuery(sql).setParameter("nom", nom).getResultList();
        }
        return null;
    }

    public void supprimerPersonne(Long idPersonne) {
        PersonneBd batimentASupprimer = trouverPersonneParId(idPersonne);
        em.remove(batimentASupprimer);
    }
}
